﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test.Level2
{
    public class Human
    {

        // Создать класс Human.
        //В классе определить поля - Имя, Фамилия, Дата рождения.
        //    Имя и фамилия не могут быть null. 
        //    Дата рождения не может быть из будущего.
        //    Реализовать свойства для установки и считывания значений полей. 
        //    Создать конструктор позволяющий установить значения полей класса при создании.
        //    Создать 2 экземпляра класса. Вывести значение полей экземпляров на экран.


        private string firstName;
        public string FirstName
        {
            get
            {
                return firstName;
            }
            set
            {
                if (!string.IsNullOrWhiteSpace(value))
                {
                    firstName = value;
                }
            }
        }

        private string lastName;
        public string LastName
        {
            get
            {
                return lastName;
            }
            set
            {
                if (!string.IsNullOrWhiteSpace(value))
                {
                    lastName = value;
                }

            }
        }
        private DateTime dateOfBirth;
        public DateTime DateOfBirth { get { return dateOfBirth; } }


        public Human(string fName, string lName, DateTime dateOfBirth)
        {
            this.FirstName = fName;
            this.LastName = lName;

            if (dateOfBirth > DateTime.Now)
            {
                throw new InvalidOperationException();
            }
            else
            {
                this.dateOfBirth = dateOfBirth;
            }
        }
    }
}





